<template>
  <a-card title="用户主页" :bordered="false" class="custom-card">
    <p class="welcome-text">欢迎来到您的个人主页！</p>
    <!-- 用户信息展示区域 -->
    <a-descriptions :column="1" bordered class="custom-descriptions">
      <a-descriptions-item label="用户名">{{ userInfo.username }}</a-descriptions-item>
      <a-descriptions-item label="角色">{{ userInfo.role }}</a-descriptions-item>
    </a-descriptions>
  </a-card>
</template>

<script setup lang="ts">
import { useAuthStore } from '../store/auth';
import { computed } from 'vue';
// 引入 extractUsernameFromToken 方法
import { extractUsernameFromToken } from '../utils/tokenUtils';

const authStore = useAuthStore();

// 获取用户信息
const userInfo = computed(() => ({
  // 使用 extractUsernameFromToken 提取用户名
  username: extractUsernameFromToken(authStore.token || ''),
  role: authStore.isAdmin ? '管理员' : authStore.isCoach ? '教练' : authStore.isGuest ? '游客' : '普通用户'
}));
</script>

<style scoped>
/* 卡片样式 */
.custom-card {
  max-width: 600px;
  margin: 20px auto;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1); /* 增强阴影效果 */
  border-radius: 12px; /* 圆角 */
  background: linear-gradient(135deg, #ffffff, #f5f7fa); /* 渐变背景 */
  padding: 20px;
}

/* 欢迎文字样式 */
.welcome-text {
  font-size: 16px;
  color: #555;
  text-align: center;
  margin-bottom: 20px;
}

/* 描述区域样式 */
.custom-descriptions {
  font-size: 14px;
  color: #333;
}

.custom-descriptions :deep(.ant-descriptions-item-label) {
  font-weight: bold;
  color: #1890ff; /* Ant Design 主题色 */
}

.custom-descriptions :deep(.ant-descriptions-item-content) {
  color: #666;
}
</style>